package org.example.quartz.controller;


import org.example.quartz.config.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RequestMapping("/my")
@RestController
public class MyController {

//方式一
//    从 Spring 4.3 开始，如果你已经在类上使用了 @Component 或其他 Spring 管理的注解，
//     并且构造函数只有一个，则不需要在构造函数上使用 @Autowired。Spring 将自动使用那个构造函数进行注入。
//    就比如 MyController 类上面有 @RestController 注解，这个注解包含了 @Component 注解，
//     并且构造函数只有一个，所以不需要在构造函数上使用 @Autowired。并且构造函数需要的是一个 Student 类型的参数，
//     Spring 会自动从容器中找到这个类型的 Bean，并注入到构造函数中。
//    private Student myStudent;
//
//    public MyController(Student myStudent) {
//        this.myStudent = myStudent;
//    }


    //方式二
    @Autowired
    private Student myStudent;

    @GetMapping("/student")
    public Student getStudent() {
        System.out.println("myStudent = " + myStudent.getCreateTime());
        return myStudent;
    }


}
